package com.employee.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 员工实体类
 */
@Table("t_employee")
public class Employee {
    
    @Column("id")
    private String id;              // 主键ID
    
    @Column("emp_no")
    private String empNo;           // 员工编号（岗位编号+入职年份+数字）
    
    @Column("name")
    private String name;            // 姓名
    
    @Column("age")
    private Integer age;            // 年龄
    
    @Column("gender")
    private String gender;          // 性别
    
    @Column("phone")
    private String phone;           // 手机号
    
    @Column("hire_date")
    private Date hireDate;          // 入职时间
    
    @Column("position_type")
    private String positionType;    // 岗位类型
    
    @Column("position_code")
    private String positionCode;    // 岗位编号
    
    @Column("salary")
    private BigDecimal salary;      // 薪资
    
    @Column("create_time")
    private Date createTime;        // 创建时间
    
    @Column("update_time")
    private Date updateTime;        // 更新时间
    
    // 无参构造函数
    public Employee() {
    }
    
    // Getters and Setters
    public String getId() {
        return id;
    }
    
    public void setId(String id) {
        this.id = id;
    }
    
    public String getEmpNo() {
        return empNo;
    }
    
    public void setEmpNo(String empNo) {
        this.empNo = empNo;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public Integer getAge() {
        return age;
    }
    
    public void setAge(Integer age) {
        this.age = age;
    }
    
    public String getGender() {
        return gender;
    }
    
    public void setGender(String gender) {
        this.gender = gender;
    }
    
    public String getPhone() {
        return phone;
    }
    
    public void setPhone(String phone) {
        this.phone = phone;
    }
    
    public Date getHireDate() {
        return hireDate;
    }
    
    public void setHireDate(Date hireDate) {
        this.hireDate = hireDate;
    }
    
    public String getPositionType() {
        return positionType;
    }
    
    public void setPositionType(String positionType) {
        this.positionType = positionType;
    }
    
    public String getPositionCode() {
        return positionCode;
    }
    
    public void setPositionCode(String positionCode) {
        this.positionCode = positionCode;
    }
    
    public BigDecimal getSalary() {
        return salary;
    }
    
    public void setSalary(BigDecimal salary) {
        this.salary = salary;
    }
    
    public Date getCreateTime() {
        return createTime;
    }
    
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    
    public Date getUpdateTime() {
        return updateTime;
    }
    
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    
    @Override
    public String toString() {
        return "Employee{" +
                "id='" + id + '\'' +
                ", empNo='" + empNo + '\'' +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", gender='" + gender + '\'' +
                ", phone='" + phone + '\'' +
                ", hireDate=" + hireDate +
                ", positionType='" + positionType + '\'' +
                ", positionCode='" + positionCode + '\'' +
                ", salary=" + salary +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                '}';
    }
}
